home *** CD-ROM | disk | FTP | other *** search
/ AI Game Programming Wisdom / AIGameProgrammingWisdom.iso / SourceCode / 02 Useful Techniques / 02 Orkin / Agent.cpp next >
Encoding:
C/C++ Source or Header  |  2001-07-01  |  770 b   |  37 lines

  1. #include "Agent.h"
  2. #include "TriggerSystem.h"
  3.  
  4.  
  5. CAgent::CAgent()
  6. {
  7.     m_fTriggerDistance = 50.f;
  8.  
  9.     // Update 15 times per second.
  10.     m_fTriggerUpdateRate = 0.066f; 
  11.     
  12.     m_lastTriggerTime = 0;
  13. }
  14.  
  15. bool CAgent::HandleTrigger(TriggerRecordStruct* pRecord)
  16.     // Only handle more recent triggers.
  17.     if(pRecord->nTimeStamp <= m_lastTriggerTime)
  18.     {
  19.         return false;
  20.     }
  21.  
  22.     switch(pRecord->eTriggerType)
  23.     {
  24.         case kTrig_Explosion:    printf("Enemy%u handling trigger: Explosion\n", m_id);
  25.                                 break;
  26.         case kTrig_EnemyNear:    printf("Enemy%u handling trigger: EnemyNear\n", m_id);
  27.                                 break;
  28.         case kTrig_Gunfire:        printf("Enemy%u handling trigger: Gunfire\n", m_id);
  29.                                 break;
  30.     }
  31.  
  32.     m_lastTriggerTime = pRecord->nTimeStamp;
  33.  
  34.     return true; 
  35. }
  36.